Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert triple_alpha_plus_cago to new reactions scheme #1265

Merged
merged 23 commits into from
Jul 22, 2023

Conversation

maxpkatz
Copy link
Member

@maxpkatz maxpkatz commented Jul 7, 2023

This will change the rates for this network by about 1% due to a different implementation of the triple alpha and C12(a,g)O16 rates in this network compared to the aprox rates we use for the other networks.

maxpkatz and others added 19 commits July 6, 2023 23:46
…tro#1282)

these include Make.Microphysics_extern
but not Make.Microphysics
Here I separated get_nse_state into two separate functions, one that calculates the exponent part of the nse mass fraction (depends on chemical potentials) and the other calculates components that do not depend on chemical potentials.

This way we don't have to compute unnecessary parts when we solve for chemical potentials, mu_p and mu_n during hybrid solver, which includes getting the partition function.

Heres the new profile, it brings down # of calls for get_partition_functions from 900,000,000+ (from pr1274) to 200,000,000+
abort earlier if T_in < T_nse_net to avoid unnecessary computing.
This updates ECSN with the latest pynucastro, which changes the rate tables to be log10.  Due to differences in the units conversion factors and the number of decimals between the existing tabular rates and the ones of the pynucastro PR AMReX-Astro#550, the existing benchmark will differ.
The goal of this change is to remove the global data from actual_network_data.cpp, which in turn allows elimination of that file. Rather than an array, this can be handled with a constexpr function emulating the array. The new function is templated to allow compile-time evaluation of the binding energy. However, not all locations in Microphysics will be readily available to switch to a compile-time evaluation, so a "legacy" interface which accepts the species index at runtime is also provided. (This requires constexpr_for to be available in the network, so it is moved to a separate utility location.)
@maxpkatz maxpkatz marked this pull request as ready for review July 19, 2023 11:12
@zingale zingale merged commit 5eea678 into AMReX-Astro:development Jul 22, 2023
@maxpkatz maxpkatz deleted the convert_triple_alpha branch July 22, 2023 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants